package com.ruoyi.buss.point.service.impl;

import java.util.List;

import com.ruoyi.buss.point.domain.UpdatePoints;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.buss.point.mapper.ActMangagerPointMapper;
import com.ruoyi.buss.point.domain.ActMangagerPoint;
import com.ruoyi.buss.point.service.IActMangagerPointService;

import javax.annotation.Resource;

/**
 * 第一阶段网格化营销活动方案Service业务层处理
 * 
 * @author sxy
 * @date 2022-05-03
 */
@Service
public class ActMangagerPointServiceImpl implements IActMangagerPointService 
{
    @Resource
    private ActMangagerPointMapper actMangagerPointMapper;

    /**
     * 查询第一阶段网格化营销活动方案
     * 
     * @param userName 第一阶段网格化营销活动方案ID
     * @return 第一阶段网格化营销活动方案
     */
    @Override
    public ActMangagerPoint selectActMangagerPointById(String userName)
    {
        return actMangagerPointMapper.selectActMangagerPointById(userName);
    }

    /**
     * 查询第一阶段网格化营销活动方案列表
     * 
     * @param actMangagerPoint 第一阶段网格化营销活动方案
     * @return 第一阶段网格化营销活动方案
     */
    @Override
    public List<ActMangagerPoint> selectActMangagerPointList(ActMangagerPoint actMangagerPoint, LoginUser userInfo)
    {
        String orgId = userInfo.getSysUser().getDept().getOrgId();
        String userId = userInfo.getSysUser().getUserName();

        if(userInfo.getRoles().contains("zhhz")){
            actMangagerPoint.setOrgId(orgId);
        } else if(userInfo.getRoles().contains("common")){
            actMangagerPoint.setOrgId(orgId);
            actMangagerPoint.setUserName(userId);
        }

        return actMangagerPointMapper.selectActMangagerPointList(actMangagerPoint);
    }

    /**
     * 新增第一阶段网格化营销活动方案
     * 
     * @param actMangagerPoint 第一阶段网格化营销活动方案
     * @return 结果
     */
    @Override
    public int insertActMangagerPoint(ActMangagerPoint actMangagerPoint)
    {
        return actMangagerPointMapper.insertActMangagerPoint(actMangagerPoint);
    }

    /**
     * 修改第一阶段网格化营销活动方案
     * 
     * @param actMangagerPoint 第一阶段网格化营销活动方案
     * @return 结果
     */
    @Override
    public int updateActMangagerPoint(ActMangagerPoint actMangagerPoint)
    {
        return actMangagerPointMapper.updateActMangagerPoint(actMangagerPoint);
    }

    /**
     * 批量删除第一阶段网格化营销活动方案
     * 
     * @param userNames 需要删除的第一阶段网格化营销活动方案ID
     * @return 结果
     */
    @Override
    public int deleteActMangagerPointByIds(String[] userNames)
    {
        return actMangagerPointMapper.deleteActMangagerPointByIds(userNames);
    }

    /**
     * 删除第一阶段网格化营销活动方案信息
     * 
     * @param userName 第一阶段网格化营销活动方案ID
     * @return 结果
     */
    @Override
    public int deleteActMangagerPointById(String userName)
    {
        return actMangagerPointMapper.deleteActMangagerPointById(userName);
    }

    /**
     * 维护存量客户信息积分明细
     */
    @Override
    public List<UpdatePoints> updatePoint(ActMangagerPoint actMangagerPoint, LoginUser userInfo) {
        return actMangagerPointMapper.updatePoint(actMangagerPoint);
    }

    /**
     * 新增客户信息积分明细
     */
    @Override
    public List<UpdatePoints> addPoint(ActMangagerPoint actMangagerPoint, LoginUser userInfo) {
        return actMangagerPointMapper.addPoint(actMangagerPoint);
    }

    @Override
    public List<UpdatePoints> sxPoint(ActMangagerPoint actMangagerPoint, LoginUser userInfo) {
        return actMangagerPointMapper.sxPoint(actMangagerPoint);
    }

    @Override
    public List<UpdatePoints> yxPoint(ActMangagerPoint actMangagerPoint, LoginUser userInfo) {
        return actMangagerPointMapper.yxPoint(actMangagerPoint);
    }
}
